# 对于每个left,找到最小的right满足区间[left,right]中恰好有k个数字大于等于m
# [left，right],[left，right+1],[left，right+2]...[left,n]均为合法区间

n, m, k = map(int, input().split())
a = list(map(int, input().split()))
# 找出有多少个区间满足：至少k个数字大于等于m
ans=0
# [left,right)
left, right = 0, 0
# cnt表示滑动窗口[left,right)中大于等于m的元素个数
cnt = 0
while left < n:
    # 不断扩展右端点，直至区间恰好有k个数字>=m
    while right < n and cnt < S:
        if a[right]>=m:
            cnt+=1
        right+=1
    if cnt >= k:
        # [left,right) -> [left, right-1]中有k个数字>=m
        # [left,right]
        # [left,right+1]
        # [left,n-1]
        ans+=(n-1)-(right-2)
    # 左端点往右走一步
    if a[left]>=m:
        cnt-=1
    left += 1
